package Models

import (
	opb "gPublic/grpc/yz-pub-data/openData"
)

type GZPartner struct { // 默认操作的是这张表的复数
	Id        int64  `json:"id" gorm:"primary_key"`
	Title     string `json:"title" gorm:"size:50"`
	Link      string `json:"link"`
	IsEnable  int    `json:"is_enable" gorm:"commit:'0 不显示 1 显示'"`
	Closed    int64  `json:"closed"`
	CreatedAt int64  `json:"create_time"`
	UpdatedAt int64  `json:"update_time"`
}

func (GZPartner) TableName() string {
	return "gz_partner"
}

// 三种写法
func GetPartners(w map[string]any) []*opb.Partner {
	// cfg := []*opb.Partner{}
	// DB.Where(w).Find(&cfg)
	// return cfg

	// ------------------------
	// cfg := []opb.Partner{}
	// pp := []*opb.Partner{}
	// DB.Where(w).Find(&cfg)
	// for _, p := range cfg {
	// 	partner := &opb.Partner{
	// 		Id:    p.Id,
	// 		Link:  p.Link,
	// 		Title: p.Title,
	// 	}
	// 	pp = append(pp, partner)
	// }

	// return pp

	// ------------------------

	var partners []*opb.Partner
	// DB.Where(w).Find(&partners)	// 这里使用的是grpc的结构体，所以找的不是当前表，而是partners表
	DB.Table("gz_partner").Where(w).Find(&partners) //  指定就好
	return partners
}
